Skip to content

Update to Uno 6.x on WinUI; keep Uno 5.x on UWP#304

Open
MartinZikmund wants to merge 6 commits intoCommunityToolkit:mainfrom
MartinZikmund:mzikmund/drop-unoui
Open

Update to Uno 6.x on WinUI; keep Uno 5.x on UWP#304
MartinZikmund wants to merge 6 commits intoCommunityToolkit:mainfrom
MartinZikmund:mzikmund/drop-unoui

Conversation

@MartinZikmund
Copy link
Contributor

@MartinZikmund MartinZikmund commented Feb 17, 2026

This pull request updates how Uno Platform package references are managed for projects targeting WinUI 2 and WinUI 3, improving clarity and compatibility. The changes introduce explicit versioning for both Uno.UI (WinUI 2) and Uno.WinUI (WinUI 3), and refactor conditional logic to ensure the correct packages are referenced based on the selected WinUI version and target platform. There are also updates to package versions and supported multitargets for WinUI 3.

Package management and conditional references:

  • Refactored MultiTarget/PackageReferences/Uno.props to define separate variables for Uno.UI (WinUI 2) and Uno.WinUI (WinUI 3) versions, and updated CommonUnoPackageVersion to select the correct version based on the WinUIMajorVersion property. Package references are now conditionally included for the appropriate Uno variant and target platform.
  • Added conditional item groups for WebAssembly packages in Uno.props, ensuring Uno.UI.WebAssembly is used for WinUI 2 and Uno.WinUI.WebAssembly for WinUI 3.

Platform and multitarget support:

  • Updated the list of WinUI 3 compatible multitargets in MultiTarget/Test-Component-Support.ps1 to remove unsupported platforms (wpf, linuxgtk, macos). Now only wasdk, wasm, ios, and android are supported for WinUI 3.

Package version updates:

  • Updated Uno.WinUI.Lottie to version 6.4.229 in App.Head.Uno.WinUI.Dependencies.props to match the Uno.WinUI version used elsewhere.
  • Changed Uno.UI.Adapter.Microsoft.Extensions.Logging reference in App.Head.Wasm.props to use the $(CommonUnoPackageVersion) property, ensuring consistency with the selected Uno version.

Minor cleanup:

  • Removed extra blank lines in App.Head.Uno.UI.Dependencies.props and fixed a minor comment typo in App.Head.Uno.props. [1] [2]

@MartinZikmund MartinZikmund marked this pull request as ready for review February 17, 2026 13:40
@Arlodotexe Arlodotexe self-requested a review February 19, 2026 16:21
Copy link
Member

@Arlodotexe Arlodotexe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still fully support UWP and dropping Uno 5.x would be a huge breaking change for UWP applications that still rely on the Toolkit, forcing them to upgrade directly to WASDK prematurely:

  • Without a chance to follow the uap/uwp -> netx.0/uwp -> netx.0/wasdk migration path offered by the platform,
  • without a chance to iron out NativeAoT issues before using WinUI 3,
  • and before the latest WASDK platform offering is on par with UWP for their scenario (e.g. startup performance, API usability).

We'll be supporting both Uno 5.x and Uno 6.x. Our recommendation to end users will be to switch at their own pace, since upgrading to Uno 6.x requires them to migrate their entire codebase to WinUI 3 / Wasdk.

@MartinZikmund
Copy link
Contributor Author

MartinZikmund commented Feb 19, 2026

@Arlodotexe unless I made a mistake, these changes only drop Uno.UI 5.x, but normally preserve UWP - or at least that was the goal 😂 .

If this is not an option - would it be ok to have Uno 5.x for the UWP variant of toolkit and have Uno 6.x for WinUI variant?

@Arlodotexe
Copy link
Member

would it be ok to have Uno 5.x for the UWP variant of toolkit and have Uno 6.x for WinUI variant?

Absolutely, that was our intent here. We can support Uno 6.x under the WinUI 3 build config without taking away Uno 5.x under the WinUI 2 build config, our packages for these already ship separately too.

@MartinZikmund MartinZikmund changed the title Update to Uno 6.x, drop Uno.UI Update to Uno 6.x on WinUI; keep Uno 5.x on UWP Feb 20, 2026
@MartinZikmund
Copy link
Contributor Author

@Arlodotexe Adjusted the changes based on what we discussed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments